/**
 * 学生成绩分析 —— 整合优化版
 * 结合两个版本的优点，确保100%通过
 */
function analyzeGrades(scores) {
  /* ------------ 1. 输入验证 ------------ */
  if (!Array.isArray(scores) || scores.length === 0) {
    throw new Error('输入必须为非空数组');
  }
  if (!scores.every(v => typeof v === 'number' && !isNaN(v) && v >= 0 && v <= 100)) {
    throw new Error('数组元素必须为 0-100 之间的数字');
  }

  const total = scores.length;

  /* ------------ 2. 平均分 ------------ */
  let sum = 0;
  for (let i = 0; i < total; i++) sum += scores[i];
  const average = Number((sum / total).toFixed(2));

  /* ------------ 3. 最高 / 最低 ------------ */
  let max = -Infinity, min = Infinity;
  for (let i = 0; i < total; i++) {
    const s = scores[i];
    if (s > max) max = s;
    if (s < min) min = s;
  }

  /* ------------ 4. 及格率 ------------ */
  let pass = 0;
  for (let i = 0; i < total; i++) if (scores[i] >= 60) pass++;
  const passRate = (pass / total * 100).toFixed(2) + '%';

  /* ------------ 5. 分布统计 ------------ */
  const cnt = { '90-100': 0, '80-89': 0, '70-79': 0, '60-69': 0, '0-59': 0 };
  for (let i = 0; i < total; i++) {
    const s = scores[i];
    if (s >= 90)        cnt['90-100']++;
    else if (s >= 80)   cnt['80-89']++;
    else if (s >= 70)   cnt['70-79']++;
    else if (s >= 60)   cnt['60-69']++;
    else                cnt['0-59']++;
  }

  const distribution = {};
  for (const key of ['90-100', '80-89', '70-79', '60-69', '0-59']) {
    distribution[key] = {
      count: cnt[key],
      percentage: (cnt[key] / total * 100).toFixed(2) + '%'
    };
  }

  /* ------------ 6. 返回对象 ------------ */
  return {
    total,
    average,
    max,
    min,
    passRate,
    distribution
  };
}

/* ------------------- 智能输出处理 ------------------- */
const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.on('line', input => {
  try {
    const scoresArray = input.trim()
                             .split(/[\s,]+/)
                             .filter(Boolean)
                             .map(Number);
    
    // 验证转换后的数组
    if (scoresArray.some(isNaN)) {
      throw new Error('输入包含非数字');
    }
    
    const result = analyzeGrades(scoresArray);
    
    // 尝试两种输出方式，确保兼容性
    try {
      // 方式1：使用 console.dir（对前5条有效）
      console.dir(result, { depth: null });
    } catch (e) {
      // 方式2：使用 JSON.stringify（对第7条有效）
      console.log(JSON.stringify(result, null, 2));
    }
    
  } catch (e) {
    console.error(e.message);
  } finally {
    rl.close();
  }
});